package checkers3d.presentation;

import java.awt.*;

/**
 * An interface for objects that can be displayed. Tracks the objects position
 * and its RenderResource.
 *
 * @author      Ruben Acuna
 */
public interface IDrawable
{
    /**
    * Returns the position of the object.
    *
    * @return The position of this object.
    */
    Point getDrawPosition();

    /**
    * Sets the current the position of the object.
    *
    * @param  position The new position of this object.
    */
    void setDrawPosition(Point position);

    /**
    * Returns the IRenderResource of the object.
    *
    * @return The IRenderResource of this object.
    */
    IRenderResource getRenderResource();

    /**
    * Sets the current the IRenderResource of the object.
    *
    * @param  resource The new IRenderResource of this object.
    */
    void setRenderResource(IRenderResource resource);
}